QReadWriteLock: fix data race on weakly-ordered memory architectures
authorDebian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Wed, 29 Jul 2026 08:26:16 +0000 (11:26 +0300)
committerDmitry Shachnev <mitya57@debian.org>
Wed, 29 Jul 2026 08:26:16 +0000 (11:26 +0300)
commit1a865d8109cb6ba8d23f7283038484bf7cd2080e
tree01f74a6c8f9dd8ef8a5b2d565094f26c621ef0eb
parent9bd4707b655de953c107c55614dde1a6e7cf2b7b
QReadWriteLock: fix data race on weakly-ordered memory architectures

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit?id=4fd88011fa7975ce
Last-Update: 2025-12-14

The fix changes the relaxed load of d_ptr in lockFor{Read,Write} after
the acquire of the mutex to an acquire load, to establish
synchronization with the release store of d_ptr when converting from an
uncontended lock to a contended lock.

Gbp-Pq: Name qreadwritelock_data_race_2.diff
src/corelib/thread/qreadwritelock.cpp
tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp